In-circuit testing apparatus are known in the art. See, for example, copending application Ser. No. 175,713, filed Mar. 31, 1988, now U.S. Pat. No. 4,888,548, entitled "Programmatically Generated In-Circuit Test of Digital to Analog Converters" and copending application Ser. No. 175,874 filed Mar. 31, 1988, now U.S. Pat. No. 4,947,106, entitled "Programmatically Generated In-Circuit Test of Analog to Digital Converters." See also U.S. Pat. Nos. 4,797,627, 4,853,928, 4,799,023, 4,785,235, 4,779,041, 4,652,814, 4,642,561 and 4,598,245. As is known, in-circuit testing involves electrically isolating the device or component under test ("DUT") from the remainder of the devices on the circuit board under test ("BUT"), then performing functionality tests on the DUT. Thus, in-circuit testing is a technique for testing devices on a BUT as if the DUT were disconnected from its surrounding circuitry, i.e., as if the DUT were a stand-alone device.
In prior art in-circuit testers, it is known to supply a software (or firmware) based automatic test sequence generator that analyzes a description of the BUT provided by the user, usually stored in a file called a "board object" (or "board file"), and then generates a test sequence for each component. The test sequences are then stored in "test files" for later recall. Two examples of in-circuit testers that employ automatic test sequence generators, board objects and test files as described herein are the Model HP 3065 and Model HP 3070 programmable in-circuit testers, both of which are manufactured by Hewlett-Packard Company, Palo Alto, Calif. In respect to the Model HP 3065, see, for example, "HP 3065 X/L Board Test System, Users' Manual Volume 1, System Reference", Hewlett-Packard Company Part No. 03065-90090, pp. 13-1 through 13-57 (1985). In respect to the Model HP 3070, see, for example, "HP 3070 Board Test System, Users' Manual, Board Test Fundamentals", Hewlett-Packard Company Part No. 44930A, pp. 2-33 through 2-48, 5-1 through 5-54 and 10-2 through 10-10 (1988). Both of these publications are incorporated herein by reference.
In the prior art, a major portion of the test sequence generation process for each component consists of automatically determining how to electrically isolate the component so that it can be tested as if it were a stand-alone device. In many cases, however, the DUT cannot be completely isolated, and therefore the test sequence for that DUT must compensate for, or take into consideration, the effect of surrounding devices on the board that affect the test sequence for the DUT. For example, a test sequence for a particular DUT must take into account any devices connected in parallel with the DUT in order to obtain accurate results. Thus, each test sequence must take into account information about both the particular DUT and surrounding components and how they are connected. This information is called "dependency" information. In the prior art, the dependencies are automatically determined and taken into account during the test sequence generation process.
A particular shortcoming of the prior art is that every time even a single board component is changed, or the board topology is slightly modified, the entire test sequence for the BUT must be regenerated, and therefore the test sequence generation process must be repeated for every device on the board. This is so because there is no efficient way, according to the prior art, for the test sequence generation program to determine just which surrounding components would be affected and which surrounding components would not be affected by the change. Moreover, it is also often difficult for the board test programmer to make this determination. It is therefore desirable to provide a method for use in an in-circuit tester that will automatically determine which particular test sequences must be regenerated when the circuit board is modified without regenerating the entire test sequence (i.e., for the entire BUT), then regenerate the test sequence for the modification. The present invention achieves this goal.